#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <unistd.h>
#include <signal.h>

/* 
 * 2011 7 19 11:29
 *
 *
	字符串optstring可以下列元素:
	1.单个字符，表示选项，
	2.单个字符后接一个冒号：表示该选项后必须跟一个参数。参数紧跟在选项后或者以空格隔开。该参数的指针赋给optarg。
	3 单个字符后跟两个冒号，表示该选项后必须跟一个参数。参数必须紧跟在选项后不能以空格隔开。该参数的指针赋给optarg。（这个特性是GNU的扩张）。
 */

static int download;

static int progarm_para(int argc, char **argv)
{
	int c;
	const char *opts;
	char ip[16];

	opts = "a:bc:t:Hh";
	

	while ( (c = getopt(argc, argv, opts)) != -1) {
		switch(c) {
			case 'a':
				download = 0;
				break;

			case 'b':
				download = 1;
				break;

			case 'c':
			  printf("%s\n", optarg);
			  memset(ip, 0, sizeof(ip));
			  strcpy(ip, optarg);
			  printf("%s\n", ip);
			  break;

			case 't':
			  printf("%s\n", optarg);
			  break;
		}
	}
}

void test()
{
	printf("download choice!\n");
}

void test_n()
{
	printf("download not choice!\n");
}

int main(int argc, char **argv)
{
	if (argc < 2)
		exit(-1);

	progarm_para(argc, argv);

	if (download == 1)
		test();
	else
		test_n();
	
	return 0;
}
